﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace WindowsFormsApplication3.Conexion
{
    public class GestionFgut
    {
        Conexion conn = new Conexion();
        public string recuperarNombreProducto(Int64 id)
        {
            
            conn.conectar();
            //string msg = "";

            string sql = "SELECT nombre FROM producto where codProducto= " + id;
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
        public string recuperarPrecioProducto(Int64 id)
        {
            
            conn.conectar();
            //string msg = "";

            string sql = "SELECT precioVenta FROM producto where codProducto= " + id;
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
        public string InsertarVenta(string fecha, int totalVenta, int idtipo_pago, int idtipoventa, int idturno)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            string msg = "";
            try
            {
                //crear el objeto para realizar un insert
                string sql = "insert into ventas(fecha,total_venta,idtipo_pago,idtipo_vta,idturno)values('" + fecha + "'," + totalVenta + "," + idtipo_pago + "," + idtipoventa + "," + idturno + ")";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                cmd.ExecuteNonQuery();
                //msg = "Nuevo alumno ingresado";
            }
            catch (SqlException)
            {
                msg = "Problema en la conexion ala base de datos.";
                //               msg = ex.Message;
            }
            conn.desconectar();
            return msg;
        }
        public int RecuperarStock(Int64 cod)
        {
            Conexion conn = new Conexion();
            conn.conectar();

            string sql = "select stock from producto where codProducto=" + cod + "";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);


            return Convert.ToInt32(cmd.ExecuteScalar());

        }
        public string ActualizarStockProducto(Int64 cod, int stock)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            string msg = "";
            try
            {
                //crear el objeto para realizar un update

                string sql = "UPDATE producto SET stock=" + stock + " where codProducto=" + cod + "";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                cmd.ExecuteNonQuery();
                //msg = "Trabajo Finalizado";
            }
            catch (SqlException ex)
            {
                msg = ex.Message;
            }
            conn.desconectar();
            return msg;
        }
        public string recuperarNombreSesion(string id)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            //string msg = "";

            string sql = "SELECT nombre FROM administrador where rut='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
        public string recuperarApellidoSesion(string id)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            //string msg = "";

            string sql = "SELECT apellido FROM administrador where rut='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
        public string recuperarNombreSesionCajero(string id)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            //string msg = "";

            string sql = "SELECT nombre FROM cajero where rutcajero='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
        public string recuperarApellidoSesionCajero(string id)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            //string msg = "";

            string sql = "SELECT apellido FROM cajero where rutcajero='" + id + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
        public string rutVnd(string nombre)
        {
            Conexion conn = new Conexion();
            conn.conectar();

            string sql = "SELECT rutcajero FROM cajero where nombre= '" + nombre + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            // cmd.ExecuteNonQuery();
            string id = Convert.ToString(cmd.ExecuteScalar());
            return id;
        }
        public int codMotivo(string descrip)
        {
            Conexion conn = new Conexion();
            conn.conectar();

            string sql = "SELECT idmotivo FROM motivo_multa where descripcion= '" + descrip + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            // cmd.ExecuteNonQuery();
            int id = Convert.ToInt32(cmd.ExecuteScalar());
            return id;
        }
        public string ingresarMulta(int codigo, string rutv, string detalle, string fecha, string rutad)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            string msg = "";
            try
            {
                //crear el objeto para realizar un insert
                string sql = "insert into multa(idmotivo, rutcajero, detalle, fecha, rutadministrador)values('" + codigo + "','" + rutv + "','" + detalle + "','" + fecha + "','" + rutad + "')";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                cmd.ExecuteNonQuery();
                msg = "Multa ingresada exitosamente";
            }
            catch (SqlException ex)
            {
                msg = "No se pudo ingresar la multa"+ex;
            }
            conn.desconectar();
            return msg;
        }
        public DataSet nombreVnd()//devuelve los nombres de los vendedores
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT nombre FROM cajero", conn.conector);
            da.Fill(ds, "cajero");
            conn.desconectar();
            return ds;
        }
        public DataSet descripcionMulta()//devuelve la descripcion(nombre) de los motivos
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT descripcion FROM motivo_multa", conn.conector);
            // SqlDataAdapter da = new SqlDataAdapter("SELECT nombre+' '+descripcion FROM producto where activo= 'si' order by nombre asc", conn.conector);
            da.Fill(ds, "motivos");
            conn.desconectar();
            return ds;
        }
        public DataSet VerMultas()//devuelve los nombres de los vendedores
        {
            conn.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT cajero.nombre+' '+cajero.apellido As Cajero, motivo_multa.descripcion As Motivo,multa.detalle As Detalle, administrador.nombre+' '+administrador.apellido AS Administrador FROM motivo_multa INNER JOIN multa ON motivo_multa.idmotivo = multa.idmotivo INNER JOIN cajero ON multa.rutcajero = cajero.rutcajero INNER JOIN administrador ON multa.rutadministrador = administrador.rutadmin", conn.conector);
            da.Fill(ds, "Multas");
            conn.desconectar();
            return ds;
        }
    }
}
